//==============================================//
// What The Fuck Can I Do With Only 20 SECONDS? //
//----------------------------------------------//
// Scrolling Clouds                             //
// Scrolling Checkers                           //
// Starfeild                                    //
// Ring of Rotating Stars                       //
// Fireworks                                    //
// Anti-Aliased Rotating Peace Sign             //
// Anti-Aliased Rotating Spirals                //
// Light-Sourced Rotating Cube                  //
// Rotating Semi-Transparant Avatar             //
// Bouncing Balls (With Collisions)             //
// Scrolling Text                               //
// Oh Yeah and a Snazzy Looking Timer           //
//==============================================//
gosub init

// This corrects time span since Yabasic start the clock
// on execution and only allows access to full seconds
? "Randomisation Complete ..............."
? "Font & Bitmap Loaded ................."
? "======================================"
? "Just waiting for a full second to pass"
? "Before we start the clock ............"
? "======================================"
frames = 0
time = val(right$(time$,1))
repeat
  oldtime = time
  time = val(right$(time$,1))
until (oldtime <> time)
open window 640,512
start_time = val(right$(time$,1))
? "Start Time = " + str$(start_time) + " Second/s"

label loop
  if (time = 20) then
    ? "Exit Time = " + right$(time$,2) + " Seconds"
    exit
  fi
  oldtime = time
  time = val(right$(time$,2)) // get current seconds (2 digits)
  if (time <= 0) time =-time // correct for negativity (if < 10)
  time = time - start_time // subtract initial time
  t$ = str$(time) // convert to string


  setrgb 1, 200, 200, 100
  setrgb 3, 100, 100, 020
  for a = 0 to pi*2 step pi/10
    b = a-pi/90
    c = a+pi/90
    x1 = cos(b)*080+112 : y1 = sin(b)*080+400
    x2 = cos(c)*080+112 : y2 = sin(c)*080+400
    x3 = cos(c)*100+112 : y3 = sin(c)*100+400
    x4 = cos(b)*100+112 : y4 = sin(b)*100+400
    setrgb 2, 200, 200, 100
    gtriangle x1,y1 to x2,y2 to x3,y3
    setrgb 2, 100, 100, 020
    gtriangle x1,y1 to x4,y4 to x3,y3
  next
  a = time*pi/10 - pi/2
  x1 = cos(a+pi/2)*010+112 : y1 = sin(a+pi/2)*010+400
  x2 = cos(a-pi/2)*010+112 : y2 = sin(a-pi/2)*010+400
  x3 = cos(a)*100+112 : y3 = sin(a)*100+400
  x4 =-cos(a)*020+112 : y4 = -sin(a)*020+400
  gtriangle x1,y1 to x2,y2 to x3,y3
  gtriangle x1,y1 to x2,y2 to x4,y4

  setrgb 1, 000, 000, 050
  setrgb 2, 000, 000, 050
  setrgb 3, 000, 000, 200
  for a = 0 to time
    gtriangle clockx(a),clocky(a) to clockx(a+1),clocky(a+1) to clockx(clock),clocky(clock)
  next
  setrgb 1, 050, 050, 100
  setrgb 2, 050, 050, 100
  setrgb 3, 125, 125, 255
  for a = time+1 to 20
    gtriangle clockx(a),clocky(a) to clockx(a+1),clocky(a+1) to clockx(clock),clocky(clock)
  next
  setrgb 1, 000, 000, 000
  text 19,29,t$
  text 21,29,t$
  text 19,31,t$
  text 21,31,t$
  setrgb 1, 255, 255, 255
  text 20,30,t$
  setdispbuf draw
  draw = 1 - draw
  setdrawbuf draw
  by = 0
  for y = 1 to resy xy = (y-1)*resx
    by = by + size
    bx = 0
    for x = 1 to resx xy = xy + 1
      bx = bx + size
      setrgb 1, red(back(xy))+blu(frnt(xy)), grn(back(xy))+grn(midl(xy))/2, blu(back(xy))+blu(frnt(xy))+blu(midl(xy))/2
      fill box bx,by to bx-size,by-size
    next
  next

  for a = 0 to balls
    setrgb 1, ballr(a),000,ballb(a)
    setrgb 2, ballr(a)*0.5,000,ballb(a)*0.5
    setrgb 3, ballr(a)*0.5,000,ballb(a)*0.5
    x = posx(a)
    y = posy(a)
    for b = 0 to pi*2 step ballstep
      gtriangle x,y to x+cos(b)*radi,y+sin(b)*radi to x+cos(b+ballstep)*radi,y+sin(b+ballstep)*radi
    next
  next

  setrgb 1, 255, 255, 000
  for p = 1 to pnts
    x = x(p)
    y = y(p)
    z = z(p)
    u(p) = (x+ox)*300 / (z+oz+200) + 320
    v(p) = (y+oy)*300 / (z+oz+200) + 256
    px = (y*scale / (x+100) + 400)
    py = (z*scale / (x+100) + 150)
    fill box px-8,py-8 to px-2,py-2
    frnt(int(py/size)*resx + int(px/size)) = 1024
    px = px - 250
    py = py + 200
    fill box px-8,py-8 to px-2,py-2
    frnt(int(py/size)*resx + int(px/size)) = 1024
  next
  scale = scale + scl
  if (scale > 200) or (scale < -200) scl = -scl

  starang = starang + pi/045
  for a = 1 to 11
    m = mod(a,2)+1
    star_x(a) = m*cos(starang)*20
    star_y(a) = m*sin(starang)*20
    starang = starang + starstep
  next
  starang = starang - pi*0.2
  strang = strang + pi/180
  setrgb 2, 120, 100, 200
  setrgb 3, 075, 025, 125
  for b = 1 to 12
    strang = strang + pi/6
    sox = cos(strang)*200+320
    soy = sin(strang)*200+256
    for a = 1 to 10
      m = mod(a,2)*127
      setrgb 1, 127+m, 127+m, 000
      gtriangle sox,soy to star_x(a)+sox,star_y(a)+soy to star_x(a+1)+sox,star_y(a+1)+soy
    next
  next

  for p = 1 to poly
    x2 = u(p2(p)) : y2 = v(p2(p))
    cp = (u(p1(p))-x2)*(v(p3(p))-y2) - (u(p3(p))-x2)*(v(p1(p))-y2)
    if (cp > 0) then lit = cp / 15000
      lit1 = sqrt((litx-x(p1(p)))^2+(lity-y(p1(p)))^2+(litz-z(p1(p)))^2)*lit
      lit2 = sqrt((litx-x(p2(p)))^2+(lity-y(p2(p)))^2+(litz-z(p2(p)))^2)*lit
      lit3 = sqrt((litx-x(p3(p)))^2+(lity-y(p3(p)))^2+(litz-z(p3(p)))^2)*lit
      lit4 = sqrt((litx-x(p4(p)))^2+(lity-y(p4(p)))^2+(litz-z(p4(p)))^2)*lit
      setrgb 1, lit1*0.5, lit1*0.25, lit1
      setrgb 2, lit2*0.5, lit2*0.25, lit2
      setrgb 3, lit3*0.5, lit3*0.25, lit3
      gtriangle u(p1(p)),v(p1(p)) to x2,y2 to u(p3(p)),v(p3(p))
      setrgb 2, lit4*0.5, lit4*0.25, lit4
      gtriangle u(p1(p)),v(p1(p)) to u(p4(p)),v(p4(p)) to u(p3(p)),v(p3(p))
    fi
  next

  if (mod(frames,6) = 0) then
    for a = 1 to chars charictor(a-1) = charictor(a) next
    read charictor(chars)
  fi
  for f = 0 to chars
    charictor = charictor(f)
    p = 1
    fx = 600
    for x = 1 to fontx
      fx = fx - fsize
      fy = f*(fontx+1)*fsize
      setrgb 1, (x+1)*fcol, (x+1)*fcol, 000
      for y = 1 to fonty
        fy = fy + fsize
        box fx, fy to fx + fsize, fy + fsize
        if (font(charictor, p) <> 0) then
          fill box fx, fy to fx + fsize, fy + fsize
        fi
        p = p + 1
      next
    next
  next

  for y = 1 to avy v = y-1
    for x = 1 to avx u = x-1
      setrgb 1, r(x,y), g(x,y), b(x,y)
      triangle ax(u,v),ay(u,v) to ax(u,y),ay(u,y) to ax(x,y),ay(x,y)
      triangle ax(u,v),ay(u,v) to ax(x,v),ay(x,v) to ax(x,y),ay(x,y)
    next
  next

  b = 4
  setrgb 1, 255, 255, 255
  for a = 0 to resy b = b + size
    fill box starx(a)-2,b-2 to starx(a)+2,b+2
    starx(a) = starx(a) - speed(a)
    if (starx(a) < 0) then
      starx(a) = 640
      speed(a) = ran(10)+5
    fi
  next
  for a = 0 to sparks
    x = sparkx(0,a) + sparku(0,a)
    y = sparky(0,a) + sparkv(0,a)
    setrgb 1, 200,200,150
    fill box 398+x,398+y to 402+x,402+y
    fill box 398-x,398+y to 402-x,402+y

    sparkx(0,a) = x
    sparky(0,a) = y
    sparkv(0,a) = sparkv(0,a) + gravity
    x = sparkx(1,a) + sparku(1,a)
    y = sparky(1,a) + sparkv(1,a)
    setrgb 1, 200,200,000
    fill box 198+x,198+y to 202+x,202+y
    fill box 198-x,198+y to 202-x,202+y
    sparkx(1,a) = x
    sparky(1,a) = y
    sparkv(1,a) = sparkv(1,a) + gravity
  next

  if (time > 9) then
    for a = 0 to pi*2 step pi/60
      x = 50.5 + cos(a)*10
      y = 38.5 + sin(a)*10
      b = int(y-1)*resx + int(x)
      frnt(b) = 255
    next
    cang = cang + pi/60
    for a = cang to pi*2+cang step pi*2/3
      for b = 0 to 10
        x = 50.5 + cos(a)*b
        y = 38.5 + sin(a)*b
        c = int(y-1)*resx + int(x)
        frnt(c) = 255
      next
    next
  fi
  rz = rz + pi/090
  ry = ry + pi/720
  rx = rx + pi/015
  cx = cos(rx)
  cy = cos(ry)
  cz = cos(rz)
  sx = sin(rx)
  sy = sin(ry)
  sz = sin(rz)
  xx = cy*cz*meter
  xy = (cx*-sz + sx*sy*cz)*meter
  xz = (cx*sy*cz - sx*-sz)*meter
  yx = cy*sz*meter
  yy = (cx*cz + sx*sy*sz)*meter
  yz = (cx*sy*sz - sx*cz)*meter
  zx =-sy*meter
  zy = sx*cy*meter
  zz = cx*cy*meter
  originx = cos(bouncex)*0.75
  originy = sin(bouncey)*0.75
  originz = sin(bouncez)*0.75
  bouncex = bouncex + 0.04
  bouncey = bouncey + 0.04
  bouncez = bouncez + 0.02
  ox = orignx*xx + originy*xy + originz*xz
  oy = orignx*yx + originy*yy + originz*yz
  oz = orignx*zx + originy*zy + originz*zz + 20

  PX = -zx/2
  PY = -zy/2
  PZ = -zz/2
  p = 1
  for z = 0 to 1
    NZ = PZ - yz/2
    NY = PY - yy/2
    NX = PX - yx/2
    for y = 0 to 1
      Z = NZ - xz/2
      Y = NY - xy/2
      X = NX - xx/2
      for x = 0 to 1
        x(p) = X
        y(p) = Y
        z(p) = Z
        Z = Z + xz
        Y = Y + xy
        X = X + xx
        p = p + 1
      next
      NZ = NZ + yz
      NY = NY + yy
      NX = NX + yx
    next
    PZ = PZ + zz
    PY = PY + zy
    PX = PX + zx
  next

  arz = arz - pi/045
  ary = ary
  arx = arx + pi/060
  avang = avang + pi/180
  cx = cos(arx)
  cy = cos(ary)
  cz = cos(arz)
  sx = sin(arx)
  sy = sin(ary)
  sz = sin(arz)
  xx = cy*cz*avsz
  xy = (cx*-sz + sx*sy*cz)*avsz
  xz = (cx*sy*cz - sx*-sz)*avsz
  yx = cy*sz*avsz
  yy = (cx*cz + sx*sy*sz)*avsz
  yz = (cx*sy*sz - sx*cz)*avsz
  zx =-sy*avsz
  zy = sx*cy*avsz
  zz = cx*cy*avsz
  NZ = -yz*16 - xz*16 + 300
  NY = -yy*16 - xy*16 + sin(avang)*100
  NX = -yx*16 - xx*16 + cos(avang)*100
  for y = 0 to avx
    Z = NZ
    Y = NY
    X = NX
    for x = 0 to avy
      ax(x,y) = X*300 / Z + 320
      ay(x,y) = Y*300 / Z + 256
      Z = Z + xz
      Y = Y + xy
      X = X + xx
      p = p + 1
    next
    NZ = NZ + yz
    NY = NY + yy
    NX = NX + yx
  next

  for a = 0 to balls
    dxa = dirx(a)
    dya = diry(a)
    pxa = posx(a)
    pya = posy(a)
    for b = 0 to balls
      if (a <> b) then
        adj = posx(b) - pxa
        opp = posy(b) - pya
        dist = adj^2 + opp^2
        if (dist < sum_radi) then
          dist = sqrt(dist)
          nx = adj / dist
          ny = opp / dist

          cx = (pxa+posx(b))/2
          cy = (pya+posy(b))/2
          pxa = cx - nx*radi
          pya = cy - ny*radi
          posx(b) = cx + nx*radi
          posy(b) = cy + ny*radi

          product = (dirx(b)-dxa)*nx + (diry(b)-dya)*ny
          sx = nx * product
          sy = ny * product
          dxa = dxa + sx
          dya = dya + sy
          dirx(b) = dirx(b) - sx
          diry(b) = diry(b) - sy
        fi
      fi
    next

    pxa = pxa + dxa
    pya = pya + dya
    if    (pxa < minx) then
      pxa =  minx
      dxa = -dxa
    elsif (pxa > maxx) then
      pxa =  maxx
      dxa = -dxa
    fi
    if    (pya < miny) then
      pya = miny
      dya = -dya
    elsif (pya > maxy) then
      pya =  maxy
      dya = -dya
    fi
    posx(a) = pxa
    posy(a) = pya
    dirx(a) = dxa
    diry(a) = dya
  next

  frames = frames + 1
  for b = 0 to resy*resx-1 back(b) = back(b+1) next
  back(b) = back(0)
  if (mod(frames,2) = 0) then back(resxy) = back(1)
    for xy = 1 to resxy-1 back(xy) = back(xy+1) next
    for xy = resxy-1 to 1 step -1 midl(xy+1) = midl(xy) next
  fi
  r = resxy-resx
  for xy = resx to r
    f = (frnt(xy-1)+frnt(xy+1)+frnt(xy-resx)+frnt(xy+resx)) / 4.2
    if (f < 0) then f = 0
    elsif (f > 255) then f = 255
    fi
    frnt(xy) = f
  next

  if (t$ = "3") and (flip = 0) then flip = 1
    for y = 1 to resy step 4 xy = (y-1)*resx
      m = (mod(int(y/13),2)+1)*48
      for x = 1 to resx step 4 xy = xy + 4
        midl(xy) = m + (mod(int(x/16),2)+1)*48
      next
    next
  elsif (t$ = "6") and (flip = 0) then flip = 1
    for y = 1 to resy xy = (y-1)*resx
      m = mod(int(y/13),2)
      for x = 1 to resx xy = xy + 1
        midl(xy) = m*mod(int(x/16),2)*63
      next
    next
  elsif (t$ = "9") and (flip = 1) then flip = 0
    for y = 1 to resy xy = (y-1)*resx
      m = 1-mod(int(y/13),2)
      for x = 1 to resx xy = xy + 1
        midl(xy) = m*mod(int(x/16),2)*80
      next
    next
  elsif (t$ = "12") and (flip = 0) then flip = 1
    for y = 1 to resy xy = (y-1)*resx
      m = (1-mod(int(y/13),2))*48
      for x = 1 to resx xy = xy + 1
        midl(xy) = m + (1-mod(int(x/16),2))*48
      next
    next
  elsif (t$ = "15") and (flip = 1) then flip = 0
    for y = 1 to resy xy = (y-1)*resx
      for x = 1 to resx xy = xy + 1
        midl(xy) = 32
      next
    next
    for y = 1 to resy step 2 xy = (y-1)*resx
      m = mod(int(y/13),2)
      for x = 1 to resx step 2 xy = xy + 2
        midl(xy) = m*(mod(int(x/16),2)+1)*127
      next
    next
  fi
  if (mod(val(t$),4) = 0) then
    if (sflag1 = 0) then b = 0 : sflag1 = 1
      for a = 0 to sparks
        sparkx(b,a) = 0
        sparky(b,a) = 0
        sparku(b,a) = ran(10) - ran(10)
        sparkv(b,a) = ran(10) - ran(10)
      next
    fi
  else sflag1 = 0
  fi
  if (mod(val(t$),6) = 0) then
    if (sflag2 = 0) then b = 1 : sflag2 = 1
      for a = 0 to sparks
        sparkx(b,a) = 0
        sparky(b,a) = 0
        sparku(b,a) = ran(10) - ran(10)
        sparkv(b,a) = ran(10) - ran(10)
      next
    fi
  else sflag2 = 0
  fi
  goto loop

label init
  meter = 60
  scl = 4
  resx = 64
  resy = 52
  size = 640/resx
  resxy = resx*resy
  dim back(resxy), frnt(resxy), midl(resxy)
  dim red(255), grn(255), blu(255)
  dim starx(resy), speed(resy)
  for a = 0 to resy
    starx(a) = ran(640)
    speed(a) = ran(10)+5
  next
  sparks = 100
  dim sparkx(1,sparks), sparky(1,sparks)
  dim sparku(1,sparks), sparkv(1,sparks)
  gavity = 16
  for b = 0 to 1
    for a = 0 to sparks
      sparkx(b,a) = 0
      sparky(b,a) = 0
      sparku(b,a) = ran(10) - ran(10)
      sparkv(b,a) = ran(10) - ran(10)
    next
  next
  pnts = 8
  dim x(pnts), y(pnts), z(pnts)
  dim u(pnts), v(pnts)
  for y = 1 to resy xy = (y-1)*resx
    for x = 1 to resx xy = xy + 1
      back(xy) = ran(255)
    next
  next
  for c = 1 to 8
    for y = 2 to resy-1 xy = (y-1)*resx
      for x = 1 to resx xy = xy + 1
        b = back(xy-1)+back(xy)+back(xy+1)
        b = back(xy-resx)+back(xy)+back(xy+resx) + b
        b = b/6
        if (b>255) b = 255
        back(xy) = b
      next
    next
    for b = 0 to (resy-1)*resx-1 back(b) = back(b+resx) next
      for x = 1 to resx b = b + 1
      back(b) = back(x)
    next
  next
  for c = 0 to 255
    red(c) = c/4
    grn(c) = c/2
    blu(c) = c
  next

  poly = 6
  dim p1(poly), p2(poly), p3(poly), p4(poly)
  for p = 1 to poly read p1(p),p2(p),p3(p),p4(p) next
  scale = 150
  litx = 010
  lity = 070
  litz = 200
  bouncey = pi/4
  bouncez = -pi

  avx = 32
  avy = 32
  avsz = 4
  avang = avang + pi/3
  dim ax(avx,avy), ay(avx,avy)
  dim r(avx,avy), g(avx,avy), b(avx,avy)
  dim ax(avx,avy), ay(avx,avy)
  for y = 1 to avy
    for x = 1 to avx
      read r(x,y), g(x,y), b(x,y)
    next
  next
  dim star_x(11),star_y(11)
  for a = 1 to 10
    starang = a*pi*2/11
    star_x(a) = (mod(a,2)+1)*cos(starang)*100
    star_y(a) = (mod(a,2)+1)*sin(starang)*100
  next
  starstep = pi*0.2
  clock = 22
  dim clockx(clock), clocky(clock)
  for a = 0 to clock-1
    clockx(a) = cos(a*pi*2/21 - pi/2)*20 + 30
    clocky(a) = sin(a*pi*2/21 - pi/2)*20 + 30
  next
  clockx(a) = 30
  clocky(a) = 30

  balls = 12
  radi = 30
  sum_radi = (radi+radi)^2
  minx = 30
  miny = 30
  maxx = 610
  maxy = 482

  dim posx(balls), posy(balls)
  dim dirx(balls), diry(balls)
  dim ballr(balls), ballb(balls)
  for a = 0 to balls
00  x = ran(640-radi*2) + radi
    y = ran(512-radi*2) + radi
    for b = 0 to a
      if (a <> b) then
        adj = posx(b) - x
        opp = posy(b) - y
        if (adj^2+opp^2 < sum_radi) goto 00
      fi
    next
    posx(a) = x
    posy(a) = y
    dirx(a) = ran(radi) - ran(radi)
    diry(a) = ran(radi) - ran(radi)
    ballr(a) = ran(100) + 155
    ballb(a) = ran(100) + 155
  next
  ballstep = pi/8

  restore font_01
  read chars, fontx, fonty
  redim font(chars, fontx*fonty)
  for c = 1 to chars
    p = 1
    for y = 1 to fonty
      read f
      n = 1
      for x = 1 to fontx
        if (and(n,f) <> 0) then
          font(c, p) = 1
          else
            font(c, p) = 0
          fi
          p = p + 1
          n = n * 2
        next
     next
  next
  chars = 512/int(fonty*size)
  dim charictor(chars)
  fcol = 255/(fonty+1)
  fsize = size*0.8
  return

label polys
data 01,03,04,02
data 08,07,05,06
data 06,05,01,02
data 08,04,03,07
data 01,05,07,03
data 02,04,08,06

label avatar
data 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 200,198,199, 196,194,195, 195,193,194, 192,190,191, 185,183,184, 178,176,177, 156,154,155, 131,129,130, 116,114,115, 123,121,122, 119,117,118, 118,116,117, 128,126,127, 141,139,140, 165,163,164, 177,175,176, 176,174,175, 189,187,188, 189,187,188, 197,195,195, 187,196,187, 204,198,205
data 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 197,195,196, 192,190,191, 192,190,191, 182,180,181, 168,166,167, 121,119,120, 085,083,084, 083,081,082, 068,066,067, 042,040,041, 042,040,041, 022,020,021, 031,029,030, 032,030,031, 087,085,086, 125,123,124, 097,095,096, 175,173,174, 184,182,183, 184,182,183, 181,189,181, 200,195,202
data 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 192,190,191, 177,175,176, 164,162,163, 123,121,122, 070,068,069, 064,062,063, 048,046,047, 020,018,019, 016,014,015, 022,020,021, 013,011,012, 020,018,019, 027,025,026, 033,031,032, 143,141,142, 095,093,094, 075,073,074, 176,174,175, 182,181,181, 171,180,171, 190,186,192
data 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 196,194,195, 190,188,189, 179,177,178, 179,177,178, 111,109,110, 054,052,053, 010,008,009, 005,003,004, 014,012,013, 015,013,014, 010,008,009, 015,013,014, 025,023,024, 013,011,012, 005,003,004, 018,016,017, 028,026,027, 143,141,142, 079,077,078, 059,057,058, 120,118,119, 151,159,151, 187,181,188
data 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 198,196,197, 196,194,195, 196,194,195, 184,182,183, 179,177,178, 132,130,131, 049,047,048, 014,012,013, 018,016,017, 022,020,021, 011,009,010, 019,017,018, 021,019,020, 017,015,016, 018,016,017, 019,017,018, 016,014,015, 015,013,014, 003,001,002, 102,100,101, 085,083,084, 044,042,043, 028,028,027, 062,071,062, 124,118,125
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 192,190,191, 177,175,176, 138,136,137, 084,082,083, 024,022,023, 009,007,008, 036,034,035, 028,026,027, 025,023,024, 039,037,038, 027,025,026, 016,014,015, 015,013,014, 021,019,020, 017,015,016, 015,013,014, 012,010,011, 042,040,041, 054,052,053, 042,040,041, 021,020,019, 042,051,042, 125,120,126
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 186,184,185, 151,149,151, 132,130,131, 055,053,054, 014,012,013, 015,013,014, 028,026,027, 025,023,024, 035,033,034, 038,036,037, 024,022,023, 022,020,021, 019,017,018, 021,019,020, 017,015,016, 018,016,017, 012,010,011, 052,050,051, 080,078,079, 021,017,020, 021,021,020, 052,060,053, 144,139,146
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 199,196,198, 184,182,183, 180,178,179, 161,159,159, 074,072,072, 057,054,056, 008,006,007, 014,012,013, 015,013,014, 032,030,031, 030,028,029, 018,016,017, 021,018,020, 019,016,018, 017,015,017, 021,019,020, 021,019,020, 017,015,016, 009,007,008, 037,035,036, 072,070,071, 012,010,011, 024,022,023, 011,019,011, 034,028,035
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 195,194,194, 190,189,189, 179,176,178, 137,135,137, 013,011,012, 061,058,059, 085,082,084, 039,038,038, 010,008,008, 024,022,023, 015,013,014, 013,011,013, 017,016,016, 017,016,015, 018,015,017, 026,023,024, 033,030,031, 023,021,022, 020,018,019, 005,003,004, 118,115,117, 077,074,075, 003,001,002, 010,020,011, 037,031,037
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 190,191,184, 182,184,178, 165,164,164, 050,046,052, 011,008,015, 000,000,000, 030,031,021, 064,064,058, 083,084,078, 076,077,073, 070,070,065, 084,086,080, 081,079,074, 070,067,062, 064,065,062, 052,052,052, 051,053,052, 038,038,038, 020,020,020, 007,008,007, 079,079,079, 192,196,188, 112,111,112, 009,014,006, 045,036,041
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 194,196,188, 189,191,185, 183,184,180, 136,134,135, 029,027,031, 015,012,020, 013,009,007, 011,009,004, 010,009,005, 012,011,008, 012,012,009, 013,016,012, 021,022,019, 020,021,017, 015,016,013, 017,018,018, 012,012,012, 017,017,017, 020,020,020, 012,012,012, 017,017,017, 043,043,043, 164,166,162, 233,232,232, 031,036,027, 015,007,012
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 191,194,188, 190,190,186, 174,172,170, 130,128,131, 019,014,021, 015,010,018, 016,012,014, 015,011,012, 017,014,015, 017,017,018, 016,016,016, 014,017,016, 018,021,021, 018,021,020, 014,018,018, 022,024,023, 017,017,017, 015,015,015, 013,013,013, 015,015,015, 023,023,023, 038,038,038, 149,149,149, 255,255,255, 081,085,077, 015,007,012
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 191,190,189, 185,185,181, 178,177,176, 114,109,115, 022,016,024, 017,012,022, 018,010,019, 023,016,026, 018,011,019, 014,007,012, 020,016,021, 016,015,020, 020,023,025, 013,020,021, 008,014,017, 015,015,015, 027,026,026, 026,026,026, 045,036,041, 012,012,012, 012,012,012, 055,055,055, 157,157,157, 240,241,240, 157,160,152, 010,002,007
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 190,189,188, 180,179,177, 182,179,177, 068,063,065, 019,013,019, 017,011,019, 011,005,018, 026,019,030, 015,008,015, 020,012,016, 029,022,024, 021,017,018, 021,021,021, 011,017,018, 008,015,019, 011,011,014, 023,023,023, 025,025,025, 017,017,017, 012,012,012, 016,016,016, 055,056,055, 177,176,177, 236,237,236, 192,196,188, 010,002,008
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 193,191,189, 186,182,180, 146,142,139, 060,057,054, 030,024,026, 021,014,019, 013,007,019, 020,013,024, 022,011,018, 030,016,020, 045,033,032, 047,037,033, 033,028,025, 022,022,019, 010,012,013, 011,010,011, 017,017,017, 017,017,017, 012,012,012, 009,009,009, 012,012,012, 060,060,060, 191,191,191, 241,242,240, 186,189,180, 026,017,024
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 190,188,183, 183,179,172, 102,099,091, 142,135,132, 043,037,033, 016,009,008, 014,010,017, 022,017,023, 010,000,002, 078,059,055, 116,097,088, 136,116,107, 048,033,025, 032,023,015, 027,021,018, 014,014,013, 016,016,016, 017,017,017, 011,011,011, 016,016,016, 013,013,013, 067,067,067, 188,188,188, 249,248,249, 153,157,148, 030,021,027
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,194,195, 195,191,187, 201,198,190, 156,154,143, 127,123,113, 181,177,169, 064,057,051, 023,016,010, 015,014,016, 005,002,003, 039,027,023, 184,164,153, 179,156,142, 179,155,137, 095,073,059, 138,120,110, 116,102,094, 029,027,025, 012,013,014, 013,013,014, 011,011,012, 014,014,014, 006,006,006, 065,065,065, 201,200,201, 244,245,244, 089,093,085, 103,094,099
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 193,192,190, 201,199,193, 190,186,179, 139,137,125, 173,170,156, 173,168,156, 103,095,085, 033,026,018, 008,006,006, 004,000,000, 121,110,101, 222,203,186, 186,158,140, 190,161,142, 175,148,132, 196,173,159, 173,154,143, 059,056,053, 015,016,017, 018,017,019, 012,013,012, 009,010,009, 015,015,014, 079,078,079, 217,217,216, 145,146,145, 091,094,087, 189,179,185
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 193,194,194, 187,189,188, 170,170,162, 174,160,142, 208,181,154, 197,171,145, 148,133,120, 026,023,022, 010,019,023, 007,014,012, 030,030,023, 155,146,133, 187,174,157, 197,181,159, 199,184,163, 193,176,156, 200,183,164, 103,088,072, 056,044,032, 019,012,002, 018,015,015, 014,013,017, 002,007,010, 053,055,054, 046,048,043, 059,061,053, 166,175,165, 188,183,191
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 189,190,191, 187,192,195, 138,137,129, 199,184,164, 204,177,147, 196,168,144, 141,127,115, 033,031,031, 021,027,028, 020,022,020, 016,013,006, 087,077,063, 190,175,158, 195,178,158, 198,180,159, 194,176,155, 194,175,153, 152,136,119, 075,064,050, 032,025,016, 008,005,008, 012,012,017, 012,016,020, 018,022,023, 032,034,030, 116,117,110, 168,180,167, 191,186,193
data 196,194,195, 196,194,195, 196,194,195, 196,194,195, 196,196,194, 142,144,140, 172,168,159, 204,190,171, 206,181,156, 174,151,129, 141,128,118, 067,065,064, 019,019,018, 034,031,026, 033,027,019, 041,028,016, 084,065,049, 108,087,067, 098,073,054, 143,121,099, 191,169,148, 176,162,150, 077,068,058, 039,032,028, 003,003,005, 013,014,020, 013,015,021, 006,007,011, 080,082,081, 172,172,168, 173,184,171, 197,191,196
data 196,194,195, 196,194,195, 196,194,195, 193,189,187, 166,161,158, 151,146,142, 214,207,193, 197,181,162, 169,150,126, 154,136,119, 124,115,106, 083,080,079, 102,102,103, 099,098,097, 030,024,020, 026,016,008, 042,026,017, 124,107,094, 187,168,153, 190,170,155, 187,166,150, 159,150,140, 049,041,035, 019,014,010, 013,010,014, 013,011,017, 010,009,015, 033,034,038, 154,153,156, 173,174,171, 177,185,172, 202,194,197
data 196,194,195, 196,194,195, 196,194,195, 194,190,189, 136,131,125, 187,179,168, 208,193,175, 171,155,134, 130,113,095, 106,095,082, 103,095,090, 145,143,140, 154,156,161, 109,110,114, 030,031,033, 031,028,029, 026,020,018, 019,011,006, 080,070,063, 169,157,149, 145,130,122, 047,039,031, 035,029,023, 046,039,035, 012,006,008, 012,007,010, 039,035,039, 037,034,036, 154,152,150, 167,166,164, 179,185,170, 197,189,191
data 196,194,195, 195,193,194, 187,185,186, 183,182,180, 121,113,105, 130,115,099, 165,145,123, 138,121,100, 089,078,063, 099,092,085, 174,168,165, 168,164,162, 158,163,170, 124,131,138, 053,058,065, 008,014,021, 014,018,022, 025,025,028, 055,052,052, 038,033,031, 021,014,006, 021,014,006, 113,106,097, 068,060,055, 015,007,001, 021,012,010, 080,070,068, 052,047,041, 107,101,095, 188,182,176, 174,179,162, 197,187,185
data 196,194,195, 195,193,194, 187,185,186, 168,166,166, 092,083,074, 127,107,087, 158,133,108, 118,102,081, 036,030,019, 141,144,140, 170,170,168, 178,172,170, 169,172,171, 173,177,179, 091,096,099, 039,046,048, 070,075,077, 089,092,092, 154,154,151, 107,102,097, 037,030,023, 039,032,017, 109,099,084, 099,088,074, 035,019,008, 063,046,035, 093,078,064, 143,128,116, 080,068,054, 100,092,077, 160,164,142, 182,172,168
data 196,194,195, 187,185,186, 180,179,178, 149,149,149, 073,062,053, 163,137,115, 138,111,081, 097,078,056, 068,064,054, 170,175,176, 172,173,175, 166,161,160, 134,127,118, 121,116,107, 083,080,073, 098,098,092, 115,115,109, 113,109,103, 086,078,070, 087,076,061, 100,087,071, 111,102,082, 100,088,069, 132,118,098, 086,066,047, 130,108,089, 151,130,110, 150,132,111, 152,137,115, 119,107,083, 080,082,058, 100,090,085
data 196,194,195, 196,194,195, 192,190,192, 119,119,120, 094,082,072, 171,144,120, 135,106,076, 099,081,060, 110,109,100, 172,180,182, 135,137,140, 105,101,100, 177,166,148, 165,152,134, 096,085,071, 115,109,096, 085,078,065, 084,075,060, 136,123,107, 186,168,147, 188,168,145, 109,097,072, 111,099,076, 089,074,049, 185,162,137, 157,135,109, 176,152,126, 178,156,130, 165,147,121, 159,146,118, 144,145,119, 115,103,098
data 196,194,195, 190,191,187, 187,188,181, 112,100,077, 132,117,092, 165,147,130, 121,103,095, 093,078,073, 164,151,146, 129,123,113, 116,110,096, 209,202,183, 231,218,201, 209,195,179, 184,171,154, 141,127,111, 130,113,098, 171,154,139, 184,165,151, 180,157,144, 150,127,114, 140,119,102, 144,126,108, 156,136,117, 193,172,153, 161,139,122, 187,169,150, 194,178,159, 179,162,143, 152,138,118, 122,117,090, 111,092,085
data 196,194,195, 189,191,186, 164,163,158, 140,125,097, 155,136,111, 186,170,154, 115,099,091, 099,084,080, 152,140,133, 090,079,067, 201,193,176, 205,198,176, 205,197,179, 205,193,177, 207,194,178, 200,187,171, 173,159,143, 160,142,128, 180,161,148, 162,143,129, 148,128,115, 170,149,135, 169,145,131, 201,180,165, 165,145,130, 156,139,123, 173,155,139, 162,145,128, 162,145,129, 166,150,134, 170,165,137, 173,153,144
data 190,192,187, 187,187,181, 150,148,140, 183,169,141, 190,173,149, 197,182,165, 125,110,100, 123,109,102, 082,069,061, 145,135,122, 202,192,175, 204,196,174, 211,202,185, 211,202,185, 208,198,181, 205,195,178, 187,175,159, 175,161,145, 203,187,172, 201,184,169, 144,125,113, 141,122,107, 191,171,157, 222,202,187, 152,134,119, 196,180,163, 207,191,175, 210,193,177, 209,193,176, 204,191,174, 198,191,164, 178,158,149
data 191,191,186, 170,166,158, 175,172,161, 207,192,169, 204,189,166, 198,182,166, 134,118,106, 120,104,095, 059,045,035, 204,191,176, 193,182,163, 206,193,173, 212,205,186, 213,206,189, 209,200,183, 212,201,185, 192,182,166, 181,171,155, 203,192,176, 202,189,173, 210,199,183, 202,185,169, 209,190,175, 194,175,161, 189,174,157, 212,195,180, 206,192,176, 206,194,178, 210,198,181, 215,202,186, 207,201,174, 219,199,190
data 190,188,181, 161,157,147, 197,191,180, 209,194,175, 201,186,166, 201,185,169, 128,112,097, 074,058,044, 107,091,078, 166,153,135, 191,176,156, 209,193,172, 208,199,181, 213,206,188, 211,203,185, 213,204,187, 200,191,174, 178,169,152, 212,204,187, 207,199,181, 203,194,178, 206,190,175, 210,192,178, 172,156,142, 210,197,181, 213,199,182, 211,199,183, 212,202,185, 214,203,187, 215,205,188, 206,201,174, 216,196,187

label font_01
data 64 : rem total charictor amount
data 08 : rem font width in pixels
data 08 : rem font height in pixels
data 000,000,000,000,000,000,000,000
data 056,056,056,056,000,056,056,056
data 238,238,238,000,000,000,000,000
data 000,110,255,110,110,255,110,000
data 124,238,031,014,014,014,014,255
data 000,230,118,056,028,110,103,000
data 024,126,126,255,255,126,126,024
data 056,056,056,000,000,000,000,000
data 060,030,014,014,014,014,030,060
data 060,120,112,112,112,112,120,060
data 000,090,060,126,126,060,090,000
data 000,024,024,126,126,024,024,000
data 000,000,000,000,000,056,056,060
data 000,000,000,126,126,000,000,000
data 000,000,000,000,000,000,024,024
data 000,224,112,056,028,014,007,000
data 126,231,231,239,247,231,231,126
data 056,060,060,056,056,056,056,124
data 124,238,224,126,007,007,199,255
data 126,231,112,224,224,224,231,126
data 119,119,254,028,028,028,028,028
data 127,119,007,126,224,224,231,126
data 003,003,003,127,231,231,231,126
data 127,231,240,224,224,224,224,224
data 126,231,126,231,231,231,231,126
data 254,227,254,224,224,224,224,224
data 000,000,056,056,000,056,056,060
data 000,000,056,056,000,056,056,056
data 000,028,014,007,007,014,028,000
data 000,060,060,000,000,060,060,000
data 000,056,112,224,224,112,056,000
data 126,231,120,056,000,056,056,056
data 000,060,102,090,066,090,060,000
data 126,231,255,231,231,231,231,231
data 127,231,127,231,231,231,231,127
data 126,231,007,007,007,231,231,126
data 127,231,231,231,231,231,231,127
data 126,231,015,007,007,231,231,126
data 126,231,015,007,007,007,007,007
data 126,231,007,007,247,231,231,126
data 231,231,255,231,231,231,231,231
data 062,028,028,028,028,028,028,062
data 254,231,224,160,239,231,231,126
data 119,119,063,231,231,231,231,231
data 007,007,007,007,007,231,231,126
data 118,255,239,239,231,231,231,231
data 127,231,231,231,231,231,231,231
data 126,231,231,231,231,231,231,126
data 127,231,127,007,007,007,007,007
data 126,231,231,231,215,183,103,126
data 127,231,127,231,231,231,231,231
data 126,231,007,126,224,231,231,126
data 062,028,028,028,028,028,028,028
data 231,231,231,231,231,231,231,126
data 231,231,231,231,231,231,102,060
data 235,235,235,235,235,235,235,126
data 231,231,126,231,231,231,231,231
data 231,231,254,224,224,231,231,126
data 254,231,224,126,007,007,231,127
data 015,007,007,007,007,007,007,015
data 003,007,014,028,056,112,224,192
data 240,224,224,224,224,224,224,240
data 024,060,102,231,000,000,000,000
data 000,000,000,000,000,000,000,126

label messages
data 51,34,42,47,64 // Rain_Storm
data 52,53,48,51,46
data 01,49,51,38,52 // Presents
data 38,47,53,52,01
data 56,53,39,36,42 // WTFCIDWO
data 37,56,48,19,17
data 52,38,36,48,47 // 20SECONDS???
data 37,52,32,01,56 // WHAT
data 41,34,53,01,36 // CANT
data 34,47,53,01,58 // YOU DO
data 48,54,01,37,48 // IN
data 01,42,47,01,19
data 17,01,52,38,36 // 20SECONDS???
data 48,47,37,52,32
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01
data 01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01


 